package cn.lyjuan.payment.third.base.pay.vo.req;

/**
 * @author arvin
 * desc payment-third cn.lyjuan.payment.third.base.pay.vo.req
 * 2021/3/2 21:23
 */
public class TransferReq<D extends TransferReq.ITransferReq> {

    /**
     * 交易订单号
     */
    protected String localNo;

    /**
     * 转账标题
     */
    protected String title;

    /**
     * 金额，分
     */
    protected Integer amt;

    /**
     * 备注
     */
    protected String remark;

    /**
     * 身份(不是identity时, 这里传手机号)
     */
    protected String identity;

    /**
     * 每个支付平台独立的参数
     */
    protected D params;

    public TransferReq() {
    }

    public TransferReq(String localNo, String title, Integer amt, String remark, String identity, D params) {
        this.localNo = localNo;
        this.title = title;
        this.amt = amt;
        this.remark = remark;
        this.identity = identity;
        this.params = params;
    }

    public String getLocalNo() {
        return localNo;
    }

    public void setLocalNo(String localNo) {
        this.localNo = localNo;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getAmt() {
        return amt;
    }

    public void setAmt(Integer amt) {
        this.amt = amt;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public D getParams() {
        return params;
    }

    public void setParams(D params) {
        this.params = params;
    }

    @Override
    public String toString() {
        return "PayReq{" +
                ", localNo='" + localNo + '\'' +
                ", title='" + title + '\'' +
                ", amt=" + amt +
                ", params=" + params +
                '}';
    }


    /**
     * 渠道转账
     */
    public static interface ITransferReq {
    }
}
